﻿using System;
using System.Collections.Generic;

namespace _87_双向链表_集合
{
    class Program
    {
        static void Main(string[] args)
        {
            LinkedList<string> 我之列表 = new LinkedList<string>();

            //向集合中添加5个元素
            //添加第一个
            var node = 我之列表.AddFirst("秦");
            //跟随其后
            node = 我之列表.AddAfter(node,"汉");
            //同上
            node = 我之列表.AddAfter(node,"隋");
            //跟随其后，先添加宋
            node = 我之列表.AddAfter(node,"宋");
            //再在宋之前加入“唐”
            我之列表.AddBefore(node, "唐");

            Console.WriteLine($"列表1：{string.Join("、",我之列表)}");

            //创建第二个LinkList实例
            LinkedList<byte> 我发哥列表老二 = new LinkedList<byte>();
            我发哥列表老二.AddLast(1);
            我发哥列表老二.AddLast(3);
            我发哥列表老二.AddLast(2);
            我发哥列表老二.AddLast(4);

            //先找出元素3
            var foundnode = 我发哥列表老二.Find(3);

            //获取元素3的结点
            var thirdnode = foundnode.Next;

            //将该元素移除
            我发哥列表老二.Remove(foundnode);
            //再把这个元素插入到2之后
            我发哥列表老二.AddAfter(thirdnode, foundnode.Value);
            Console.WriteLine($"列表2：{string.Join("、", 我发哥列表老二)}");





        }
    }
}
